#include "pch.hpp"
#include "Time.hpp"

using namespace Engine;




GameTime::GameTime()
{
	m_gameStart = boost::posix_time::microsec_clock::local_time();
	m_lastFrame = m_gameStart;

	update();
}
///////////////////////////////////////////////////////////////////////////////////////////////////




time_duration GameTime::totalRealTime() const
{
	return m_thisFrame - m_gameStart;
}
///////////////////////////////////////////////////////////////////////////////////////////////////

time_duration GameTime::elapsedRealTime() const
{
	return m_thisFrame - m_lastFrame;
}
///////////////////////////////////////////////////////////////////////////////////////////////////




double GameTime::relativeElapsedRealTime() const
{
	return m_dt;
}
///////////////////////////////////////////////////////////////////////////////////////////////////




void GameTime::update()
{
	m_lastFrame = m_thisFrame;
	m_thisFrame = boost::posix_time::microsec_clock::local_time();
	m_frameTime = m_thisFrame - m_lastFrame;

	m_dt = m_frameTime.total_microseconds() / boost::posix_time::seconds(1).total_microseconds();
}
///////////////////////////////////////////////////////////////////////////////////////////////////
